/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package CONTROLES;


import MODELOS.Usuario;
import UTILITARIOS.EncriptarCadena;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Time;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;


/**
 *
 * @author Administrador
 */
public class ControlSession {


    ControlUsuario controlUsu = new ControlUsuario();

     public boolean estaRegistrado(String cuenta,String contrasena){
        boolean resp=false;
        Conexion conexion = new Conexion();
        try {
            Connection conex = conexion.getConexion();
            PreparedStatement psUs = conex.prepareStatement("select * from usuario where nombre_usu='"+cuenta+"' and contrasena=md5('"+contrasena+"') and estado_usu=true");
            ResultSet result=psUs.executeQuery();
            if(result.next()){                
                resp=true;
                System.out.println("Ya existe: "+cuenta);

            }
            else resp=false;
        } catch (SQLException ex) {
             System.out.println("Error en el ingreso del sistema : "+ex.getLocalizedMessage());
        }

        return resp;
    }

      public Usuario UsuarioRegistrado(String cuenta,String contrasena){
        Usuario resp= new Usuario();
        Conexion conexion = new Conexion();
        try {
            Connection conex = conexion.getConexion();
            PreparedStatement psUs = conex.prepareStatement("select * from usuario where nombre_usu='"+cuenta+"' and contrasena=md5('"+contrasena+"') and estado_usu=true");
            ResultSet result=psUs.executeQuery();
            if(result.next()){
                resp.setIdUsuario(result.getInt(1));
                resp.setIdEmpleado(result.getInt(2));
                resp.setNombreUsuario(result.getString(3));
                resp.setContrasena(result.getString(4));
                resp.setTipoUsuario(result.getString(5));
                resp.setFechaCreacion(result.getDate(6));
                resp.setEstado(result.getBoolean(7));
                resp.setPermiso(result.getBoolean(8));
                String cad = new EncriptarCadena().Encriptar("nfn inversiones", result.getString(9), false);
                resp.setToken(cad);
                
           }
            
        } catch (SQLException ex) {
             System.out.println("Error en el ingreso del sistema : "+ex.getLocalizedMessage());
        }

        return resp;
    }

      public void guardarUltimaSesion(Usuario u, Date fecha, Time hora) {
        Conexion conection = new Conexion();

        try {
            Connection conectado = conection.getConexion();
            PreparedStatement ps =
              conectado.prepareStatement("INSERT INTO log(id_log,id_usuario,nombre_log,fecha_log,hora)VALUES "+ "(nextval('log_id_log_seq'),'"+u.getIdUsuario()+"','"+u.getNombreUsuario().toUpperCase()+"','"+fecha+"','"+hora+"')");


            ps.executeUpdate();
            ps.close();
    } catch (SQLException em) {
            System.out.println("error al insertar el ultima sesion Usuario "+em.getLocalizedMessage() );

    }
  }


}
